/*
 * FSWUniCEUB - 2008
 * 
 * Este arquivo é de propriedade da Fábrica de Software do UniCEUB
 * 
 * Para mais informações entre em contato com a coordenação do
 * curso de Ciência da Computação da instituição.
 */

package br.uniceub.fsw.indicadores.bo;

import br.uniceub.fsw.arquitetura.servico.exception.NegocioException;
import br.uniceub.fsw.indicadores.dao.AcaoCorretivaDAO;
import br.uniceub.fsw.indicadores.vo.AcaoCorretivaVO;

/**
 * Business Object da entidade AcaoCorretiva. Essa classe é responsável por todos as
 * funcionalidades de negócio relacionadas à entidade.
 * 
 @author Filipe Scafuto Vieira ra20463917
 */
public class AcaoCorretivaBO {

    AcaoCorretivaDAO acaoCorretivaDAO = new AcaoCorretivaDAO();
    
    /**
     * Valida se o registro de ação corretiva está pronto para inserção ou atualização.
     * 
     * @param acaoCorretiva ação corretiva a ser verificada.
     * @throws br.uniceub.fsw.arquitetura.servico.exception.RegraNegocioException caso a ação corretiva 
     * informada não possua condições de ser inserida ou atualizada no banco de dados.
     */
    public void validaAcaoCorretiva(AcaoCorretivaVO acaoCorretiva) throws Exception, NegocioException {
        
        String mensagem = new String();
        
        if(acaoCorretiva.getCdAnaliseValorIndicador() == null || acaoCorretiva.getCdAnaliseValorIndicador() == 0) {
            mensagem = mensagem.concat("Análise do valor do indicador obrigatória.<br />");
        }
        
        if(acaoCorretiva.getDsAcaoCorretiva() == null || acaoCorretiva.getDsAcaoCorretiva().equals("")) {
            mensagem = mensagem.concat("Descrição da ação corretiva obrigatória.\n");
        }
     
        if(!mensagem.isEmpty())
            throw new NegocioException(mensagem);
    }
    
}
